When computers were first linked together into networks, moving information between the different types of computers was a formidable task.
|
In the early 1980s, the International Standards Organisation (ISO) recognized the need for a standard network model.
|
This would help vendors to create interpretable network devices.
|
The Open Systems Interconnection (OSI) reference model, released in 1984, addressed this need.
|
The OSI reference model quickly became the primary architectural model for intercomputer communications.
|
Other architectural models were created, mostly proprietary ones.
|
However, most network vendors relate their products to the OSI model when they want to educate their users about their products.
|
The OSI model describes how information makes its way from application programs (such as spreadsheets) through a network medium (such as wires) to another application program in another computer.
|
It divides this one big problem into seven smaller problems.
|
Each of these seven problems is reasonably self-contained and therefore more easily solved without excessive reliance on external information.
|
Each problem is addressed by one of the seven layers of the OSI model.
|
The seven layers of the OSI model are

 the application layer
|
 the presentation layer
|
 the session layer
|
 the transport layer
|
 the network layer
|
 the data-link layer
|
 the physical layer
|
The lower two OSI model layers are implemented with hardware and software.
|
The upper five are generally implemented only in software.
|
Most implementations (like TCP/IP) skip one or more layers to streamline operations.
|
The layered approach to network communications provides the following benefits:

 reduced complexity
|
 improved teaching and learning
|
 modular engineering
|
 accelerated evolution
|
 interoperable technology
|
 standard interfaces
@@
As the information to be sent descends through the layers of a system it looks less and less like human language and more and more like the 1s and 0s that a computer understands.
|
Let's look at an example of OSI-type communication.
|
Assume that System A has information to send to System B.
|
System A's application program communicates with System A's layer seven.
|
Layer seven communicates with layer six which communicates with layer five and so on until System A's layer one is reached.
|
Layer one is concerned with moving information on and off the physical network medium.
|
The information traverses the physical medium and is received by System B's layer one.
|
It then ascends through System B's layers in reverse order until it finally reaches System B's application program.
@@
Each of System A's layers has certain tasks it must perform.
|
Each layer communicates directly with its adjacent layers.
|
However, its primary concern in carrying out its tasks is to communicate with its peer layer in System B.
|
For example, the primary concern of layer six in System A is to communicate with layer six in System B.
|
It does this using its own layer protocol.
|
Each layer's protocol exchanges information, called protocol data units (PDUs), between peer layers.
|
Each layer uses a specific term for its PDU.

For example, in TCP/IP the transport layer, TCP communicates to the peer TCP function using ^Rsegments^r.
|
The OSI model precludes direct communication between peer layers.
|
Therefore each layer in System A must rely on services provided by its lower layers for it to communicate with its System B peer.
|
The upper layer is said to be the service user while the lower layer is the service provider.
|
The lower layer services are provided to the upper layer at a service access point (SAP).
@@
Let's look at the transport layer in TCP/IP as an example.
|
The transport layer must use the services of the network layer in order to communicate to the peer TCP function on another system.
|
Each lower layer in turn takes upper layer information as part of the PDUs it exchanges with its peer layer.
|
Each lower layer adds whatever headers and trailers it requires to perform its functions.
|
This is called ^Rdata encapsulation^r.
|
The transport layer's segments become part of the network layer's ^Rpackets^r exchanged between IP peers.
|
Network layer packets are also known as ^Rdatagrams^r.
|
The network layer prepends (that is, adds to the start of the PDU) a header to the data that identifies the source and destination logical addresses.
|
These addresses help network devices send the packets across the network along a chosen path.
|
The Host-to-network layer takes the IP packet and adds a header to form a ^Rframe^r.
|
The header contains information required to complete the data-link functions.
|
For example, the frame header contains a physical address which allows the network device to communicate over its interface to the next directly connected network device on the link.
|
Ultimately, these frames must be converted into electrical pulses as the data is finally transmitted by the physical layer protocol across the wire or other physical medium used by the network.
@@
Let's look at the two lowest layers of the OSI model, the physical layer and the data-link layer.
|
Layer one of the OSI model is the physical layer.
|
The physical layer is concerned with the interface to the transmission medium.
|
At the physical layer, data is transmitted onto the medium (eg coaxial cable or optical fiber) as a stream of bits.
|
So, the physical layer is concerned, not with networking protocols, but with the transmission media on the network.
|
The physical layer defines the electrical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating the physical link between end systems.
|
Characteristics specified by the physical layer include

 voltage levels
|
 timing of voltage changes
|
 physical data rates
|
 maximum transmission 
  distances
|
 physical connectors
@@
Layer two of the OSI reference model is the data-link layer.
|
This layer is responsible for providing reliable transit of data across a physical link.
|
The data-link layer is concerned with

 physical addressing
|
 network topology
|
 line discipline (how end 
  systems will use the 
  network link)
|
 error notification
|
 ordered delivery of frames
|
 flow control
|
At the data-link layer, the bits that come up from the physical layer are formed into data frames, using any of a variety of data-link protocols.
|
Frames consist of fields, containing bits.
|
The data-link layer is subdivided into two sublayers:

 the logical link control 
  (LLC) sublayer
|
 the media access control 
  (MAC) sublayer
@@
The LLC sublayer provides support for

 connections between 
  applications running on 
  a LAN
|
 flow control to the upper 
  layer by means of 
  ready/not ready codes
|
 sequence control bits
|
The LLC sublayer rests on top of other media access protocols to provide interface flexibility.
|
Because the LLC sublayer operates independently of specific media access protocols, upper layer protocols, for example IP at the network layer, can operate autonomously without concern as to the specific type of LAN media.
|
The LLC sublayer can depend on lower layers to provide access to the media.
@@
The MAC sublayer provides orderly access to the LAN medium.
|
For multiple stations to share the same medium and still uniquely identify each other, the MAC sublayer defines a hardware, or data-link, address called the ^RMAC address^r.
|
The MAC address is unique for each LAN interface.
|
On most LAN interface cards the MAC address is burned into ROM.
|
The ROM MAC address is sometimes known as the ^Rburned-in address^r (BIA).
|
The MAC address is a 48-bit address expressed as 12 hexadecimal digits written in three groups of four digits.
|
The first six hexadecimal digits (the first 24 bits) represent a vendor code known as the organizationally unique identifier (OUI).
|
To ensure vendor uniqueness, the IEEE administers OUIs.
|
The last six hexadecimal digits are administered by the vendor and often represent the interface serial number.
@@
Before a frame is exchanged with a device on the same LAN, the sending device needs to have a MAC address it can use as a destination address.
|
The sending device may use an address resolution protocol (such as TCP/IP's address resolution protocol (ARP)) to discover the destination's MAC address.
|
In other protocols the MAC address can be determined directly from the network address.
|
For example, assume that host Y and host Z are on the same LAN.
|
Host Y broadcasts an ARP request onto the LAN looking for host Z.
|
Because it is a broadcast message all devices on the LAN, including host Z, process the request.
|
However, host Z is the only device to respond and it does so with its MAC address.
|
Host Y receives host Z's reply and stores the MAC address in local memory.
|
This is often called an ^RARP cache^r.
|
The next time host Y needs to communicate with host Z it recalls host Z's stored MAC address.
|
Let's look at how host Y communicates with host X on a different LAN, which it can access via router A.
|
As before host Y broadcasts its ARP request.
|
Router A, along with all the other devices on the LAN, processes the request.
|
It knows that host X will not see the request because it is on another LAN, and that any packets destined for host X will have to be relayed.
|
So instead, router A provides its own MAC address to host Y as a "proxy" reply to the ARP request.
|
Host Y receives the router's response and saves the MAC address in its ARP cache memory.
|
The next time host Y needs to communicate with host X, it recalls the stored MAC address of router A.
@@
Layer three of the OSI model is the network layer.
|
The network layer sends packets from source network to destination network.
|
It provides consistent end-to-end packet delivery services to its user, the transport layer.
|
In wide area networking a substantial geographic distance and many networks can separate two end systems that wish to communicate.
|
Between the two end systems the data may have to be passed through a series of widely distributed intermediary nodes.
|
These intermediary nodes are normally routers.
|
Routers are special stations on a network, capable of making complex routing decisions.
|
The network layer is the domain of routing.
|
Routing protocols select optimal paths through the series of interconnected networks.
|
Network layer protocols then move information along these paths.
@@
One of the functions of the network layer is ^Rpath determination^r.
|
Path determination enables the router to evaluate all available paths to a destination and determine which to use.
|
It can also establish the preferred way to handle a packet.
|
After the router determines which path to use it can proceed with switching the packet.
|
It takes the packet it has accepted on one interface and forwards it to another interface or port that reflects the best path to the packet's destination.
|
When evaluating different paths through a network, routing services use internetwork topology information.
|
This information can be configured by the network administrator or collected through dynamic processes running on the internetwork.
|
Routers use ^Rrouting algorithms^r to determine an optimal path to a destination.
|
Routing algorithms use metrics such as path length, bandwidth, and reliability.
|
To aid the process of path determination, routing algorithms initialize and maintain ^Rrouting tables^r.
|
Routing algorithms fill routing tables with a variety of types of information.
|
This information varies depending on the routing algorithm used.
|
For example, a routing table might hold destination/next hop associations.
|
When the router receives an incoming packet, it checks the destination address and looks up its routing table.
|
The destination/next hop associations tell the router that the particular destination can be reached optimally by sending the packet to a particular router.
|
This router represents the "next hop" on the way to the final destination.
@@
You can think of the transport layer of the OSI model as a boundary between the upper and lower protocols.
|
The transport layer provides a data transport service that shields the upper layers from transport implementation issues such as the reliability of a connection.
|
The transport layer provides mechanisms for

 multiplexing upper layer 
  applications
|
 the establishment, 
  maintenance, and orderly 
  termination of virtual 
  circuits
|
 information flow control
|
 transport fault detection 
  and recovery
|
The transport layer uses a technique called multiplexing to segment and reassemble data from several upper layer applications onto the same transport layer data stream.
|
When data is being sent, the source machine includes extra bits with the data that encode the message type, originating application, and protocols used.
|
The destination machine demultiplexes the data stream, and reassembles the data so that it can be passed up to the destination peer application.
@@
The transport layer data stream provides end-to-end transport services.
|
It constitutes a logical connection between the end points of an internetwork, that is, the originating host and the destination host.
|
Before data transfer can begin, both the sending and receiving applications inform their respective operating systems that a connection is going to be initiated.
|
In essence, one machine places a call that must be accepted by the other.
|
Protocol software modules in the two operating systems communicate by sending messages across the network to verify that the transfer is authorized and that both sides are ready.
|
After all the synchronization has occurred, a connection is said to be established and data transfer can begin.
|
During a transfer using TCP, the two machines continue to communicate with their protocol software to verify that data is received correctly.
@@
Once data transfer is in progress, congestion can occur for two reasons.
|
First, the sending device might be able to generate traffic faster than the network can transfer it.
|
Second, if multiple devices need to send data through the same gateway, or to the same destination, the gateway or destination may experience congestion.
|
When datagrams arrive too quickly for a device to process, it temporarily stores them in memory.
|
If the datagrams are part of a small burst, this buffering solves the problem.
|
However, if the traffic continues to arrive at this rate, the device eventually exhausts its memory and must discard additional datagrams that arrive.
|
Instead of losing data, the transport function can issue a "not ready" indicator to the sender.
|
This acts like a stop sign and signals the sender to discontinue sending segment traffic to its peer.
|
After the receiving device has processed sufficient segments to free space in its buffers, the receiver sends a ready transport indicator - which is like a go signal.
|
When it receives this indicator, the sender can resume segment transmission.
@@
The transport layer may provide a reliable service regardless of the quality of the underlying network.
|
One technique that is used to guarantee reliable delivery is called ^Rpositive acknowledgement with retransmission^r.
|
This requires the receiver to issue an acknowledgement message to the sender when it receives data.
|
The sending device keeps a record of each packet it sends and it waits for an acknowledgement before sending another packet.
|
The sender also starts a timer when it sends a packet.
|
It retransmits the packet if the timer expires before an acknowledgement is received.
|
Acknowledging every data segment, however, has its drawbacks.
|
If the sender has to wait for an acknowledgement of each data segment, the throughput will be very low.
|
A technique called ^Rwindowing^r is used to increase the throughput.
|
Time is available after the sender finishes transmitting the data segment, but before the sender finishes processing any received acknowledgement.
|
This is used for transmitting more data.
|
The number of data elements the sender is allowed to have outstanding is known as the ^Rwindow^r.
|
For example, with a window size of three the sender can transmit three data segments before expecting an acknowledgement.
|
In reality, the acknowledgements and data segments will intermix as they communicate across the network. This is known as ^Rpiggyback acknowledgement^r.
@@
The main function of the OSI model's session layer is to control "sessions", which are logical connections between network devices.
|
A session consists of a dialog, or data communications conversation, between two presentation entities.
|
Dialogs can be

 simplex (one-way)
|
 half-duplex (alternate)
|
 full-duplex (bi-directional)
|
Simplex conversations are rare on networks.
|
Half-duplex conversations require a good deal of session layer control, because the start and end of each transmission need to be monitored.
|
Most networks are of course capable of full-duplex transmission, but in fact many conversations are in practice half-duplex.
|
Some examples of session layer protocols and interfaces are:

 Network File System (NFS)
|
 concurrent database access
|
 X Windows System
|
 AppleTalk Session Protocol 
  (ASP)
|
 Digital Network Architecture 
  Session Control Protocol 
  (DNA SCP)
@@
The presentation layer ensures that information sent by the application layer of one system will be readable by the application layer of another system.
|
It provides a common format for transmitting data across various systems, so that data can be understood, regardless of the types of machines involved.
|
The presentation layer concerns itself not only with the format and representation of actual user data, but also with data structure used by programs.
|
Therefore, the presentation layer negotiates data transfer syntax for the application layer.
|
For example, the presentation layer is responsible for syntax conversion between systems that have differing text and data character representations, such as EBCDIC and ASCII.
@@
The application layer of the OSI model is the layer that is closest to the user.
|
Instead of providing services to other OSI layers, it provides services to application programs outside the scope of the OSI model.
|
It's services are often part of the application process.
|
The application layer

 identifies and establishes the 
  availability of the intended 
  communication partner
|
 synchronizes the sending and 
  receiving applications
|
 establishes agreement on 
  procedures for error recovery 
  and control of data integrity
|
 determines whether sufficient 
  resources for the intended 
  communications exist
|
Many computer applications include a communications element.
|
For example, a word processor might incorporate a file transfer component.
|
The World Wide Web links thousands of servers using a variety of formats including text, graphics, video, and sound.
|
This allows millions of users to communicate and use applications such as

 Browsers
|
 Search engines
|
 E-mail programs
|
 Newsgroup and chat programs
|
 Transaction services
|
 Audio/video conferencing
